package com.mall.service;

import com.mall.domain.dto.ItemDTO;
import com.mall.domain.dto.ItemPageQueryDTO;
import com.mall.domain.vo.ItemVO;
import com.mall.result.PageResult;

import java.util.List;

/**
 * @author 勾新杰
 * @version 1.0
 * @date 2024/11/23 11:19
 */
public interface ItemService {

    /**
     * 添加商品
     * @param itemDTO 商品传输对象
     */
    void addItem(ItemDTO itemDTO);

    /**
     * 更新商品状态
     * @param id 商品id
     * @param status 状态
     */
    void updateStatus(Long id, Integer status);

    /**
     * 分页查询商品列表
     * @param itemPageQueryDTO 商品分页查询传输对象
     * @return 分页结果
     */
    PageResult<ItemVO> page(ItemPageQueryDTO itemPageQueryDTO);

    /**
     * 更新商品
     * @param itemDTO 商品传输对象
     */
    void updateItem(ItemDTO itemDTO);

    /**
     * 删除商品
     * @param id 商品id
     */
    void deleteItem(Long id);

    /**
     * 批量删除商品
     * @param ids 商品id集合
     */
    void deleteItemBatch(List<Long> ids);

    /**
     * 根据id查询商品
     * @param id 商品id
     * @return 商品视图对象
     */
    ItemVO getItemById(Long id);
}
